<%-- 
    Document   : Procesar_reset
    Created on : 28-nov-2013, 12:12:01
    Author     : Roberto
--%>

<%@page import="java.util.GregorianCalendar"%>
<%@page import="GestorBDatos.Reset"%>
<%@page import="GestorBDatos.ResetJpaController"%>
<%@page import="URLRandom.URLRandom"%>
<%@page import="GestorBDatos.Usuario"%>
<%@page import="GestorBDatos.UsuarioJpaController"%>
<%@page import="javax.persistence.Persistence"%>
<%@page import="javax.persistence.EntityManagerFactory"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html lang="es">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Seguridad informatica</title>
        <link rel="stylesheet" href="css/bootstrap.css">
    <body>
        <%
            EntityManagerFactory emf = Persistence.createEntityManagerFactory("Seguridad_InformaticaPU");
            UsuarioJpaController userController = new UsuarioJpaController(emf);
            ResetJpaController resetController = new ResetJpaController(emf);
            String usuario = (String) session.getAttribute("login");
            String url = (String) session.getAttribute("url");
            String pass = request.getParameter("pass");
            String control_pass = request.getParameter("control_pass");
            
            
            
            if(pass != null && !pass.equals("") && 
                    control_pass != null && !control_pass.equals("")) {
                String puntuacion = request.getParameter("puntuacion");
                int puntuacionPass = Integer.parseInt(puntuacion);
                if (puntuacionPass > 45 && (pass.length() > 6 || pass.length() < 20)) {
                    if(pass.equals(control_pass)) {
                        Usuario user  = userController.findUsuario(usuario);

                        if (user != null) {
                            System.out.println(user);
                            if(user.getReset().getUrl() != null) {
                                
                            
                                //Modificamos el usuario
                                user.setPass(pass);
                                userController.edit(user);
                                //Eliminamos la URL
                                resetController.destroy(user.getLogin());

                                %>
                                <div class="container">
                                    <div class="jumbotron">
                                        <div class="container">
                                            <h1>Contraseña cambiada</h1>
                                            <p>El cambio de la contraseña se ha realizado satisfactoriamente. Pulsa el botón para volver al pantalla principal y acceder al sistema.</p>
                                            <p>
                                                <a class="btn btn-lg btn-primary" href="index.jsp" role="button">Volver a la pantalla pricipal &raquo;</a>
                                            </p>
                                        </div>
                                    </div>
                                </div>
                                <%
                            } else {
                                %>
                                <div class="container">
                                    <div class="jumbotron">
                                        <div class="container">
                                            <h1>Ha habido un fallo</h1>
                                            <p>Ha ocurrido un error a la hora de cambiar la contraseña, por favor vuelve a intentarlo. Pulsa el botón para volver a la pantalla principal, he intentarlo de nuevo.</p>
                                            <p>
                                                <a class="btn btn-lg btn-primary" href="index.jsp" role="button">Volver a la pantalla pricipal &raquo;</a>
                                            </p>
                                        </div>
                                    </div>
                                </div>
                                <%
                            }
                        } else {
                            %>
                            <div class="container">
                                <div class="jumbotron">
                                    <div class="container">
                                        <h1>Ha habido un fallo</h1>
                                        <p>Ha ocurrido un error a la hora de cambiar la contraseña, por favor vuelve a intentarlo. Pulsa el botón para volver a la pantalla principal, he intentarlo de nuevo.</p>
                                        <p>
                                            <a class="btn btn-lg btn-primary" href="index.jsp" role="button">Volver a la pantalla pricipal &raquo;</a>
                                        </p>
                                    </div>
                                </div>
                            </div>
                            <%
                        }

                    } else {
                        response.sendRedirect("Pantalla_reset_pass.jsp?error=1&url=" + resetController.findReset(usuario).getUrl() + "&login=" + usuario);
                    }
                } else {
                    response.sendRedirect("Pantalla_reset_pass.jsp?error=3&url=" + resetController.findReset(usuario).getUrl() + "&login=" + usuario);
                }
                    
            } else {
                response.sendRedirect("Pantalla_reset_pass.jsp?error=2&url=" + resetController.findReset(usuario).getUrl() + "&login=" + usuario);
            }
            

        %>
    </body>
</html>
